Nr |
Label |
Behaviour Description |
Constraint Ref |
Verdict |
Comments |
1 |
|
+IP_tester_bb |
|
|
initialise tester |
2 |
|
(TCV_test_repetition_counter := 1, TCV_exit := 0, TCV_max_test_steps:=2,TCV_config_with_lc_component:=TRUE) |
|
|
The loop is repeated twice: one for GIAC and one for supported DIAC |
3 |
|
REPEAT LTS_loop_test UNTIL [ (TCV_test_repetition_counter > TCV_max_test_steps) OR (TCV_exit <>0)] |
|
|
|
4 |
|
[TCV_exit <>0] |
|
|
something went wrong during the loop |
5 |
TB01 |
[TCV_test_repetition_counter = 1] |
|
R |
error in first step |
6 |
TB02 |
[TCV_test_repetition_counter = 2] |
|
R |
error in second step |
7 |
TB03 |
[TCV_exit = 0] |
|
R |
loop was finished |
LTS_loop_test |
8 |
|
+LTS_define_test_parameters |
|
|
depending on the value of the repetition the parameters for the test are initialised |
9 |
|
CREATE (P_TCI:LT_tci ( TCV_lap )) |
|
|
Creation of the real time PTC (P_TCI) |
10 |
|
+TS_control_iut_initialisation_mtc |
|
|
if initialisation fails, the test will be finished |
11 |
|
CREATE( P_LM: LT_lm( TCV_n_inquiry, TCV_lap, TCV_tso_id), P_LC: TS_inquiry_hopp_sequence_79_p_lc ( TCV_lap, TCV_n_inquiry, TCV_tso_id))
|
|
|
Creation of the real time PTC (P_LM) and the postprocessing PTC (P_LC)
|
12 |
|
CREATE( P_LM: LT_lm( TCV_n_inquiry, TCV_lap, TCV_tso_id), P_LC: TS_inquiry_hopp_sequence_79_p_lc ( TCV_lap, TCV_n_inquiry, TCV_tso_id, (TSO_oct_to_int(TSPX_inquiry_length)*1280000)/625))
|
|
|
Creation of the real time PTC (P_LM) and the postprocessing PTC (P_LC)
|
13 |
|
ACTIVATE (DF_testbody_mtc (TCV_config_with_lc_component)) |
|
|
|
14 |
|
START T_guard_var (400) |
|
|
|
15 |
|
CP_LM ? CM_CONTINUE |
Cm_start_inquiry |
|
LM notifies LC that it can start the inquiry scan |
16 |
|
CP_LC ! CM_CONTINUE |
Cm_start_inquiry |
|
|
17 |
|
CP_LC ? CM_CONTINUE |
Cm_start_inquiry |
|
LC notifies TCI that it can change from inquiry scan ... |
18 |
|
CP_TCI ! CM_CONTINUE |
Cm_start_inquiry |
|
... to inquiry |
19 |
|
? DONE (P_TCI, P_LM,P_LC) CANCEL T_guard_var |
|
|
finalization of PTCs |
20 |
|
[R <> pass] |
|
|
If the verdict is not pass |
21 |
|
(TCV_exit := 1) |
|
|
the test will be finished |
22 |
|
[R = pass] |
|
|
If the verdict is pass ... |
23 |
|
(TCV_test_repetition_counter := TCV_test_repetition_counter + 1) |
|
|
... increase counter |
LTS_define_test_parameters |
24 |
|
[TCV_test_repetition_counter = 1] |
|
|
|
25 |
|
(TCV_lap := TSC_lap_giac, TCV_n_inquiry := 256, TCV_tso_id := TSC_standard_tso_id) |
|
|
First test step uses GIAC, standard TSO ID and Ninquiry=256 (trains A and B are repeated at least Ninquiry) |
26 |
|
[TCV_test_repetition_counter = 2] |
|
|
|
27 |
|
(TCV_lap := TSPX_supported_diac, TCV_tso_id := TSO_int_to_oct (TSO_oct_to_int (TCV_tso_id) + 1, 2)) |
|
|
Second test step uses DIAC (a PIXIT value that must be in the range of 0x9E8B01-0x9E8B32 and 0x9E8B34-0x9E8B3F), the former TSO ID +1 and the same Ninquiry. |
LT_lm ( var_n_inquiry:INTEGER; var_lap:LAP; var_tso_id:TSO_ID) |
28 |
|
+LTS_bb_inquiry_iut_slave |
|
|
tester performs inquiry to determine the clk_offset to IUT |
29 |
|
ACTIVATE (DF_termination_p_lm) |
|
|
|
30 |
|
(TCV_tso_bool_result := TSO_set_tester_clock (TSC_clk_type_clk_offset, TCV_clock_offset_to_iut)) |
|
|
The clock offset is added to the testers clk to be able to follow the inquiry train |
31 |
|
CP_LM ! CM_TSO_RESULT |
Cm_tso_result (TCV_tso_bool_result) |
|
If TSO failed, the MSC will finish the test |
32 |
|
[(TSO_oct_to_int(TSPX_inquiry_length)*1280) >= (var_n_inquiry*4*10000)]
|
|
|
It is checked in the inquiry length is enough tor perform the test procedure. For example, if 'var_n_inquiry' is 256, the inquiry length should be, at least, 10.24 seg (TSPX_inquiry_length = 0x08)
|
33 |
|
CP_LM ! CM_CONTINUE
|
Cm_start_inquiry |
|
from now on the IUT shall initiate inquiry |
34 |
|
(TCV_tso_bool_result := TSO_monitor_inquiry_trains(var_tso_id, var_lap, 1, var_n_inquiry, TSC_start_scan_offset, 5))
|
|
|
Start inquiry scan with A train at start frequency TSC_start_scan_offset and continue scanning till 5 inquiry instances have been finished (the IUT performs periodic inquiry).
|
35 |
|
(TCV_tso_bool_result := TSO_monitor_inquiry_trains(var_tso_id, var_lap, var_n_inquiry, TSC_start_scan_offset, ((TSO_oct_to_int(TSPX_inquiry_length)*1280000+30000000)/625)))
|
|
|
Start inquiry scan with A train at start frequency TSC_start_scan_offset and continue scanning till InquiryTO plus 30 seconds
|
36 |
|
CP_LM ! CM_TSO_RESULT
|
Cm_tso_result (TCV_tso_bool_result) |
|
If TSO failed, the MSC will finish the test |
37 |
|
[TRUE]
|
|
|
The inquiry length is not enough tor perform the test procedure.
|
38 |
|
CP_LM ! CM_CONTINUE
|
Cm_terminate_other_ptc
|
(I)
|
|
LTS_bb_inquiry_iut_slave |
39 |
|
[TSPC_supports_inquiry_scan_79_channel OR TSPC_supports_inquiry_scan_23_channels] |
|
|
if the IUT supports inquiry scan .... |
40 |
|
ACTIVATE (DF_inquiry_page_p_lm) |
|
|
|
41 |
|
LC ! LM_LC_INQUIRY_REQ |
Lm_lc_inquiry_req ( TSC_lap_giac) |
|
set LT in Inquiry mode (with GIAC) |
42 |
|
LC ? LM_LC_INQUIRY_CFM |
Lm_lc_inquiry_cfm (TSC_confirm_ind_ok) |
|
the start of the Inquiry mode is performed |
43 |
|
LC ? LM_LC_INQUIRY_IND (TCV_clock_offset_to_iut:=TSO_set_clock_offset_bit_15_to_1 (LM_LC_INQUIRY_IND.clock_offset)) |
Lm_lc_inquiry_ind (TSC_confirm_ind_ok, TSPX_bd_addr_iut, TSPX_class_of_device_iut, ?, ?, ?, ?) |
|
Inquiry_responses of other devices are filtered out using the default. |
44 |
|
LC ! LM_LC_STOP_INQUIRY_REQ |
Lm_lc_stop_inquiry_req |
|
stop inquiry |
45 |
TB04 |
LC ? LM_LC_STOP_INQUIRY_CFM |
Lm_lc_stop_inquiry_cfm (TSC_confirm_ind_ok) |
(P) |
|
46 |
|
[NOT (TSPC_supports_inquiry_scan_79_channel OR TSPC_supports_inquiry_scan_23_channels)] |
|
|
Inquiry scan is not supported |
LT_tci ( var_lap:LAP) |
47 |
|
ACTIVATE (DF_termination_p_tci, DF_testbody_p_tci) |
|
|
|
48 |
|
+IP_iut_temporary_inquiry_scan_p_tci |
|
|
initialisation procedure for the IUT. The IUT will be temporary initialised for inquiry scan to enable the tester to get the clk offset. |
49 |
|
CP_TCI ? CM_CONTINUE |
Cm_start_inquiry |
|
P_lm has the clock_offset. The IUT now shall be configured to start inquiry |
50 |
|
+PR_iut_stop_inquiry_scan_and_start_inqiry_p_tci(var_lap)
|
|
|
The iut performs a periodic inquiry till 5 sequences and after that, this procedure is finished.
|
51 |
|
TCI_HCI ! HCI_WRITE_SCAN_ENABLE [TCV_num_hci_command_packets <> '00'O]
|
Hci_write_scan_enable('00'O)
|
|
0x00 -> no scans enabled.
|
52 |
|
TCI_HCI ? HCI_COMMAND_COMPLETE_EVENT (TCV_num_hci_command_packets:=HCI_COMMAND_COMPLETE_EVENT.num_hci_command_packets)
|
Hci_command_complete_event('04'O,?,TSC_command_opcode_hci_write_scan_enable, Return_parameters_status_only)
|
|
|
53 |
|
(TCV_inquiry_with_unlimited_responses:=TRUE)
|
|
|
This variable is used in DF_testbody_p_tci to handle the Hci_inquiry_result_events in a correct way
|
54 |
|
TCI_HCI ! HCI_INQUIRY [TCV_num_hci_command_packets <> '00'O]
|
Hci_inquiry(TCV_lap, TSPX_inquiry_length, '00'O)
|
|
'num_response' parameter is set to '0' to assure that the inquiry lasts 'inquiry_length'
|
55 |
|
TCI_HCI ? HCI_COMMAND_COMPLETE_EVENT (TCV_num_hci_command_packets:=HCI_COMMAND_COMPLETE_EVENT.num_hci_command_packets)
|
Hci_command_complete_event(?, ?, TSC_command_opcode_hci_periodic_inquiry_mode, Return_parameters_status_only)
|
|
|
56 |
|
TCI_HCI ? HCI_INQUIRY_COMPLETE_EVENT
|
Hci_inquiry_complete_event(?)
|
|
The inquiry complete event is not successful
|